package com.crm.utils;

import java.util.UUID;

import org.apache.logging.log4j.core.util.UuidUtil;

/**
 * @author Yusei
 * 上传文件的工具类
 */
public class UploadUtils {
	// 生成MD5文件名(唯一)
	public static String getUuidFileName(String fileName){
		// 获得文件名有多少位字符
		int beginIndex = fileName.lastIndexOf(".");
		// 获得文件名
		String extions = fileName.substring(beginIndex);
		return UUID.randomUUID().toString().replace("-", "")+extions;
	}
	
	// 目录分离
	public static String getPath(String uuidFileName){
		// 用md5文件名获取一个int型的数（int型：8位）
		int code1 = uuidFileName.hashCode();
		// 将这个数 和 0xf（16进制：15）进行与操作，获得第一级目录名
		int d1 = code1 & 0xf;
		// 将code1的值右移4位，继续进行目录分级
		int code2 = code1 >>> 4;
		int d2 = code2 & 0xf;
		// 以此类推，最多可以分8级，约43亿个目录
		return "/"  +d1 + "/" +d2;
	}
	
//	public static void main(String[] args) {
//		// System.out.println(getUuidFileName("aaa.txt"));
//		System.out.println(getPath("66f470cefe1e4629a9c5c4a0bea06884.txt"));
//	}

}
